/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package org.sadhar.sipp.anggaranpendapatansewabungadll;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import org.sadhar.sia.common.ClassConnection;

/**
 *
 * @author hendro
 */
public class AnggaranPendapatanSewaBungaDllDAOImpl implements AnggaranPendapatanSewaBungaDllDAO {

    public List<String> getTahunAnggaran() throws Exception {
        String sql = "SELECT distinct(tahunAnggaran) FROM ppmk.posAnggaranPendapatanUnit ORDER BY tahunAnggaran ASC";
        List<String> list = new ArrayList<String>();
        List<Map> rows = ClassConnection.getJdbc().queryForList(sql);
        for (Map m : rows) {
            String str = String.valueOf(m.get("tahunAnggaran"));
            list.add(str);
        }
        return list;
    }

    public String getSQL(String thn1, String thn2, String pos, String unit) {
        String sql = "SELECT posAnggaranPendapatanUnit.tahunAnggaran, " +
                "posAnggaranPendapatanUnit.kodeUnitKerja, " +
                "unkerja.Nama_unit_kerja, " +
                "posAnggaranPendapatanUnit.idPosPendapatan, " +
                "posPendapatan.posPendapatan, " +
                "anggaranPendapatanLain.realisasiTahunSebelumnya, " +
                "anggaranPendapatanLain.prosentase, " +
                "(anggaranPendapatanLain.prosentase/100)*anggaranPendapatanLain.realisasiTahunSebelumnya as jumlahAnggaran " +
                "FROM ((ppmk.posAnggaranPendapatanUnit posAnggaranPendapatanUnit " +
                "INNER JOIN ppmk.anggaranPendapatanLain anggaranPendapatanLain " +
                "ON (posAnggaranPendapatanUnit.idPosAnggaranPendapatanUnit = " +
                "anggaranPendapatanLain.idPosAnggaranPendapatanUnit)) " +
                "INNER JOIN ppmk.posPendapatan posPendapatan " +
                "ON (posPendapatan.idPosPendapatan = " +
                "posAnggaranPendapatanUnit.idPosPendapatan)) " +
                "INNER JOIN kamus.unkerja unkerja " +
                "ON (unkerja.Kd_unit_kerja = posAnggaranPendapatanUnit.kodeUnitKerja) " +
                "WHERE (posAnggaranPendapatanUnit.tahunAnggaran BETWEEN " + thn1 + " AND " + thn2 + ") " +
                "AND(posAnggaranPendapatanUnit.kodeUnitKerja LIKE '" + unit + "') " +
                "AND(posAnggaranPendapatanUnit.idPosPendapatan LIKE '" + pos + "')";
        return sql;
    }
}
